0x00 前言

Floodlight是我在学习SDN过程中最早接触的控制器,相比较于ODL和ONOS,它从安装到导入IDE再到使用都十分容易,官方文档也写的很清楚,对新手极其友好。
趁着最近给别人搭建SDN实验环境的机会,总结一下在Ubuntu上如何搭建一个Floodlight x Mininet的SDN环境。

0x01 目录

0x02 前期准备

  • Git
  • JDK
  • Apache Ant

Git安装

sudo apt-get install git

JDK安装

Floodlight v1.2以后使用JDK8,这里选择Oracle的JDK8进行下载,在网上找到Oracle JDK8的linux压缩包进行下载并解压到home目录下,然后配置环境变量

# 配置环境变量
sudo gedit ~/.bashrc

# 在.bashrc文件末尾添加下面的内容,JAVA_HOME填JDK目录所在路径
export JAVA_HOME=/home/ubuntu/jdk1.8.0_141
export PATH=${JAVA_HOME}/bin:$PATH

# 查看配置是否成功,若显示java的版本,则配置成功
java -version

检查JDK是否成功安装
参考:https://blog.csdn.net/EahanZhang/article/details/88085561

Apache Ant安装

sudo apt-get install ant

0x03 Floodlight安装

源码下载

git clone git://github.com/floodlight/floodlight.git

源码编译

cd floodlight
ant

显示Build Successful,则说明编译成功

Floodlight源码编译

参考

https://floodlight.atlassian.net/wiki/spaces/floodlightcontroller/pages/1343544/Installation+Guide#InstallationGuide-Linux

0x04 Mininet安装

源码下载

git clone git://github.com/mininet/mininet

安装

cd mininet/util/
sudo ./install.sh

测试

sudo mn --test pingall

测试Minine是否安装成功

参考

http://mininet.org/download/

0x05 测试环境

运行Floodlight

java -jar target/floodlight.jar

# 该命令要在floodlight目录下运行

运行Floodlight

运行Mininet

新开终端,运行命令创建如下拓扑:

h1 - sw1 - h2

sudo mn --controller=remote,ip=127.0.0.1 --mac --switch=ovsk,protocols=OpenFlow13

# 如果Floodlight和Mininet分别部署在不同主机上,则上面的IP地址改为Floodlight所在主机的IP地址

测试Floodlight和Mininet的连通性

在运行Mininet的终端上,输入

pingall

如果主机之间能够ping通,说明Floodlight与Mininet之间连通
pingall测试主机连通性

此时还可以在浏览器中打开Floodlight Web GUI进行验证,若显示交换机、主机个数、拓扑,也能说明Floodlight与Mininet之间成功连通
http://localhost:8080/ui/pages/index.html
Floodlight_Web_GUI_验证FL和Mininet之间连通性

Floodlight_Web_GUI_验证FL与Mininet之间连通性-2

参考

https://floodlight.atlassian.net/wiki/spaces/floodlightcontroller/pages/1343544/Installation+Guide#InstallationGuide-SimulatingANetwork

0x06 在Eclipse中运行Floodlight

下载Eclipse

下载Eclipse

安装Eclipse

解压Eclipse

安装Eclipse-1

安装Eclipse-2

安装Eclipse-3

运行Eclipse

运行Eclipse

导入Floodlight源码

导入Floodlight源码-1

导入Floodlight源码-2

配置启动项

配置启动项-1

配置启动项-2

运行Floodlight

在Eclipse上运行Floodlight

参考

https://floodlight.atlassian.net/wiki/spaces/floodlightcontroller/pages/1343544/Installation+Guide#InstallationGuide-EclipseIDE



SDN     

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!